<template>
  <div>

    <Modal
      v-model="modal1"
      :footer-hide="true"
      :mask-closable="false"
      class-name="vertical-center-modal"
      width="800"
    >
      <img :src="SM1" alt />
    </Modal>

    <Card class="marginB10">
      <div class="overflowH f_14 TJ_big">
        <div class="TJ_title f_bold f_16">申请人信息<span class="cRed">*</span></div>
        <div class="TJ_box">
          <div class="cRed marginB30">
            <div class="marginB20">(上传身份证人像面/营业执照，系统自动填写或手动输入信息)</div>
            <Button type="info"  class="marginR10" @click="modal1=true" ghost
              style="width:105px;" 
            >
              <Icon
                type="md-information-circle"
                size="16"
                class="marginR5 relative"
              />
              文件说明
            </Button>
            <Button type="primary"  @click="shenQR_FunAdd()"
              style="width:70px;" 
            >+ 新增</Button>
          </div>

          

          <div class="marginB20">
            <div class="SQ_Wrap tran3" v-for="(val,i) in applicant_list" :key="'appR'+i">
              <div class="title">
                申请人 {{i+1}}
                <Button type="info"  @click="btnD(i)" size="small" shape="circle" class="marginL10" ghost>自动填写</Button>
                <Icon type="md-close" class="pullRight cCCC pointer" size="18" @click="shenQR_FunMin(i)" v-show="i>0" />
              </div>

              
              <div class="marginB10 relative">
                <span class="SQ_One_L">申请人 :</span>
                <Input
                  :placeholder="i==0?'关键词搜索历史申请人，自动填写信息':'请输入申请人'"
                  size="large" 
                  v-model="val['name']"
                  :ref="'T_name'+i"
                  @on-change="daiCc(i,true)" 
                  @on-focus="daiCc(i)"
                  clearable
                  class="SQ_One_R"
                />
                <div class="historyPeople SQ_One_R" v-show="(i==0) && $app.judgeData(historyP)" >
                  <div style="padding:5px 15px; border-bottom:1px solid #eee;">
                    历史申请人：
                    <Icon type="md-close-circle" class="pullRight cCCC relative textLink" style="top:1px;right:-5px;" size="18" @click="historyP=[]" />
                  </div>
                  <div style="overflow:auto; max-height:253px;">
                     <CellGroup v-for="(val,i) in historyP" :key="'historyP'+i" @on-click="fuWgX(val)">
                      <Cell :title="'申请人：'+val.applicant_name_list" :label="'发明人：'+val.inventor_name_list"/>
                    </CellGroup>
                  </div>
                </div>
              </div>
              <div class="marginB10">
                <span class="SQ_One_L">申请人国籍 :</span>
                <Select class="SQ_One_R" size="large" v-model="val['nationality']" @on-change="nationality_Fun(i)">
                  <Option v-for="(val,i) in countryList" :value="val.code" :key="i">{{val.name}}</Option>
                </Select>
              </div>
              <div class="marginB10" v-show="val['nationality']=='CN'" >
                <span class="SQ_One_L">申请人地区 :</span>
                <Select class="SQ_One_R SQ_One_Rwx marginR10" size="large" v-model="val['province_code']" @on-change="province_code_Fun(i)">
                  <Option v-for="(val,i) in shengList" :value="val.code" :key="i">{{val.name}}</Option>
                </Select>
                <Select class="SQ_One_R SQ_One_Rwx" size="large" v-model="val['city_code']"  @on-change="city_code_Fun(i)" v-show="$app.judgeData(val['cityList'])" >
                  <Option v-for="(val,i) in val['cityList']" :value="val.code" :key="i">{{val.name}}</Option>
                </Select>
              </div>

              <div class="marginB10">
                <span class="SQ_One_L">详细地址 :</span>
                <Input placeholder="请输入详细地址" size="large" v-model="val['address_detail']"  :ref="'T_address'+i" clearable class="SQ_One_R" />
              </div>
              <div class="marginB10">
                <span class="SQ_One_L">申请人类型 :</span>
                <Select class="SQ_One_R" size="large" v-model="val['type']" @on-change="owT(i)">
                  <Option v-for="(val,i) in lxl" :value="val" :key="'op'+i">{{val}}</Option>
                </Select>
              </div>
              <div class="marginB10">
                <span class="SQ_One_L">证件代码 :</span>
                <Input placeholder="请输入证件号码" size="large" v-model="val['id_card']" :ref="'T_id_card'+i" clearable class="SQ_One_R" />
              </div>
              <div class="marginB10">
                <span class="SQ_One_L">邮政编码 :</span>
                <Input placeholder="请输入邮政编码" size="large" v-model="val['zip_code']" :ref="'T_zip_code'+i" clearable class="SQ_One_R" />
              </div>
              <div class="">
                <span class="SQ_One_L">常居/营业地 :</span>
                <Select class="SQ_One_R" size="large" v-model="val['biz_nationality']" @on-change="biz_nationality_Fun(i)">
                  <Option v-for="(val,i) in countryList" :value="val.code" :key="i">{{val.name}}</Option>
                </Select>
              </div>
            </div>

          </div>
        </div>
      </div>


      

      <div class="overflowH f_14 TJ_big" >
        <div class="TJ_title f_bold f_16">发明人信息<span class="cRed">*</span></div>
        <div class="TJ_box">
          <div class="cRed marginB20">(输入发明人信息，或上传身份证人像面，系统自动填写)</div>
          <div class="marginB20">
            <div class=" SQ_One_R">
              <div class="relative inlineBlock marginR10" style="width:105px;">
                <Button type="info" long ghost @click="ZIshow_SF = true">自动填写</Button>
              </div>
              <Button type="primary" long @click="FMR_array_A" style="width:70px;" >+ 新增</Button>
            </div>
          </div>
          <template v-for="(val,i) in inventor_list">
            <div>
              <div class="marginB15">
                <span class="inlineBlock textRight paddingR10" style="width:90px;">发明人{{1+i}}：</span>
                <Input
                  placeholder="请输入发明人姓名"
                  size="large"
                  class="SQ_One_R marginR10"
                  clearable
                  v-model="val['name']"
                  :ref="'i_name'+i"
                />
                <Checkbox size="large" class="marginR10" v-model="val['is_not_public']">不公开姓名</Checkbox>
                <Icon type="md-close-circle" size="20" class="cCCC pointer relative" style="top:3px;" @click="FMR_array_R(i)" v-show="i>0"/>
              </div>
              <template v-if="i<1">
                <div class="marginB15">
                  <span class="inlineBlock textRight paddingR10" style="width:90px;">国籍：</span>
                  <Select class="SQ_One_R" size="large" v-model="val['nationality']" @on-change="inventor_nationality_Fun(val)">
                    <Option v-for="(val,i) in countryList" :value="val.code" :key="i">{{val.name}}</Option>
                  </Select>
                </div>
                <div class="marginB15">
                  <span class="inlineBlock textRight paddingR10" style="width:90px;">身份证号：</span>
                  <Input
                    placeholder="请输入身份证号"
                    size="large"
                    class="SQ_One_R"
                    clearable
                    v-model="val['id_card']"
                    :ref="'i_id_card'+i"
                  />
                </div>
              </template>
              
            </div>
          </template>

        </div>
      </div>
    </Card>

    <!-- 减缓上传减缓材料 is_cost_reduction==true 才有这一栏 -->
    <template v-if="j_box">
      <JianHuan_box ref="JianHuan_box" :applicant_list="applicant_list" />
    </template>

    <!-- 上传框弹框-申请人 -->
    <Modal
      v-model="ZIshow"
      :footer-hide="true"
      :mask-closable="false"
      class-name="vertical-center-modal"
      title="AI智能识别（图片格式）"
      width="400"
    >
      <Row class="f_16 c333  marginB10" :gutter="15">
        <Col span="3" class="textRight">
          <i class="iconfont iconjinggao2 cRed f_20"></i>
        </Col>
        <Col span="21" >
          <div class="marginB5">请上传中国大陆营业执照 或 居民身份证。</div>
          <div class="f_14 c999">确保图片文字内容清晰，以保证识别精准度。</div>
        </Col>
      </Row>

      <Row class="textCenter" :gutter="15">
        <Col span="12">
          <div class="pointer tran3 ZID relative" @click="ZIshow = false">
            <i class="iconfont f_60 cRed ">&#xe617;</i>
            <div class="paddingB10">营业执照</div>
            <input type="file" ref="uploadLicense" class="InputFileBox" accept="image/*" @change="filImage_up($event,{type:'uploadLicense'})" />
          </div>
        </Col>
        <Col span="12" >
          <div class="pointer tran3 ZID relative" @click="ZIshow = false">
            <i class="iconfont f_60 cBlue">&#xe674;</i>
            <div class="paddingB10">身份证</div>
            <input type="file" ref="uploadIdcard" class="InputFileBox"  accept="image/*" @change="filImage_up($event,{type:'uploadIdcard'})" />
          </div>
        </Col>
      </Row>
    </Modal>

    <!-- 上传框弹框-发明人 -->
    <Modal
      v-model="ZIshow_SF"
      :footer-hide="true"
      :mask-closable="false"
      class-name="vertical-center-modal"
      title="AI智能识别（图片格式）"
      width="400"
    >
      <Row class="f_16 c333  marginB10" :gutter="15">
        <Col span="3" class="textRight">
          <i class="iconfont iconjinggao2 cRed f_20"></i>
        </Col>
        <Col span="21" >
          <div class="marginB5">请上传中国 居民身份证 （正面）</div>
          <div class="f_14 c999">确保图片文字内容清晰，以保证识别精准度。</div>
        </Col>
      </Row>

      <Row class="textCenter" :gutter="15">
        <Col span="24" >
          <div class="pointer tran3 ZID relative" @click="ZIshow_SF = false">
            <i class="iconfont f_60 cBlue">&#xe674;</i>
            <div class="paddingB10">身份证</div>
            <input type="file" ref="fimg" class="InputFileBox" accept="image/*" @change="FMR_img($event)" />
          </div>
        </Col>
      </Row>
    </Modal>
    
  </div>
</template>

<style scoped>
.ZID:hover{background-color: #eee;border-radius: 7px;}
.historyPeople{
  background-color: white;
  border: 1px solid #ccc;
  border-radius: 4px;
  position:absolute;
  right:8px;
  top:35px;
  z-index: 5;
  box-shadow:0 3px 5px rgba(0,0,0,0.1);
  -webkit-animation: upDown 0.3s linear;
  animation: upDown 0.3s linear;
}
</style>
<style lang="less" scoped>
.SQ_Wrap{
  height:440px;
  overflow: hidden;
  .SQ_One_L{
    padding-right:7px;
  }
}
.SQ_One_R.SQ_One_Rwx{
  width:145px !important;
}
</style>




<script>
import SM1 from "@$@/img/wwss1.jpg";
import JianHuan_box from "./jianHuan_box";
import cost_reduction from "@$@/js/$common/cost_reduction";

export default {
  name: "common",
  components: {
    JianHuan_box
  },
  data() {
    let data = {
      
      //申请人
      applicant_list:[
        {
          //这2个字段，不在输入框，范围内显示
          address:'',//联系地址=》 这个字段比较特殊，有值就填，没值就留着为空
          img_path:'',//上传图片，相对路径

          
          nationality:'CN',//国籍 默认中国=》代码：CN =》领导决定的
          nationality_name:'中国',//国籍 默认中国=》中文字 =》领导决定的
          biz_nationality:'CN',// 和 nationality 字段一样的 逻辑
          biz_nationality_name:'中国',//和 nationality_name 字段一样的逻辑

          name:'',//申请人
          type:'',//类型
          id_card:'',//证件代码
          zip_code:'',//邮政编码
          address_detail:'',//详细地址

          // cpc流程 新增的东西
          province:'',//省份名称 中文汉字
          province_code:'',//省份代码
          city:'',//城市名称 中文汉字
          city_code:'',//城市代码
          cityList: [],//市列表=》接口返回


          // 以下是新加的东西，请定字段
          is_cost_reduction:false, //true 不上传材料了，false 要上传材料
          
          //以下是上传的文件，选填必填，前端会做校验
          org_code_path:'',//单文件{ile_path:'', file_url:''}
          income_proof_path:'',//单文件{ile_path:'', file_url:''}
          idcard_path:'',//单文件{ile_path:'', file_url:''}
          business_license_path:'',//单文件{ile_path:'', file_url:''}
          taxes_form_cover_path:'',//单文件{ile_path:'', file_url:''}
          a_class_table_path:'',//多文件 JSON串数组
        }
      ],


      //发明人信息
      inventor_list:[
        {
          name:'',//姓名
          id_card:'',//身份证
          img_path:'',//上传图片，相对路径
          nationality:'CN',//国籍 默认中国=》代码：CN
          nationality_name:'中国',//国籍 默认中国=》中文汉字：CN
          is_not_public:false,//is_not_public?'不公开姓名':'公开姓名'
        },
      ],
      

      //历史联系人
      historyP:[],

    };

    let tool={

      SM1,
      modal1: false,

      lxl: ["工矿企业", "大专院校", "科研单位", "事业单位", "个人"],
      countryList:$app.getLocal('root_countryList'),//国家列表 读本地的存储，这个东西 N年不会变一次
      shengList: $app.getLocal('root_cpcAreaList'),//省列表 读本地的存储，这个东西 N年不会变一次

      // 营业执照+身份证上传框
      ZI_num:'',//数组是第几个active
      ZIshow:false,//选择框是否高亮
      ZIshow_SF:false,


      // 减缓材料上传框
      j_box:false

    };
    return Object.assign(data, tool);
  },
  mounted() {

  },

  props:['is_cost_reduction'],//父级传值
  watch:{
    is_cost_reduction(newVal,oldVal){
      let{
        $route:{
          name
        }
      }=this;
      
      // 撰写+打包服务 页面 => patentDoAllIn
      if(name=='patentDoAllIn' && newVal){
        //专利-撰写-下单后-回来-补充资料
        this.j_box=true;
      }
    },
  },

  methods: {
    
    //发明人 select 框监听 国籍
    inventor_nationality_Fun(val){
      let nationality=val.nationality;

      let zhi=this.countryList_Fun(nationality);//赋值

      this.$set(val,'nationality_name',zhi);

      console.log('发明人 国籍 = ',zhi,this.inventor_list)
    },

    //申请人 select 框监听 常住地
    biz_nationality_Fun(i){

      let{
        biz_nationality,//常住地 代码
      }=this.applicant_list[i];

      this.applicant_list[i].biz_nationality_name=this.countryList_Fun(biz_nationality);//赋值

      console.log('申请人'+(i+1)+'： 常居/营业地 = ',this.applicant_list[i].biz_nationality_name,biz_nationality)
    },


    //申请人 select 框监听 国籍
    nationality_Fun(i){

      let{
        nationality,//国籍 代码
      }=this.applicant_list[i];


      // 清空 省市 二级联动
      this.applicant_list[i].province='';//省份名称 中文汉字
      this.applicant_list[i].province_code='';//省份代码
      this.applicant_list[i].city='';//城市名称 中文汉字
      this.applicant_list[i].city_code='';//城市代码
      

      // 清空其他有关联的东西
      this.applicant_list[i].address='';//联系地址=》 这个字段比较特殊，有值就填，没值就留着为空
      this.applicant_list[i].zip_code='';//邮政编码
      this.applicant_list[i].address_detail='';//详细地址

      this.applicant_list[i].type='';//类型
      this.applicant_list[i].id_card='';//证件代码


      this.applicant_list[i].nationality_name=this.countryList_Fun(nationality);//赋值

      console.log('申请人'+(i+1)+'： 申请人 国籍 = ',this.applicant_list[i].nationality_name,nationality)

    },

    //申请人 select 框监听 省
    province_code_Fun(i,callBack){
      let{
        province_code,//省 代码
      }=this.applicant_list[i];

      this.applicant_list[i].cityList=[];//清空 市列表

      // 省不为空值，市才赋值
      if($app.judgeData(province_code)) {
        // 专利 地区联动=》先存一次
        $ajax.cpcAreaList(province_code,resData=>{
          this.applicant_list[i].cityList=resData;//市区赋值
          callBack instanceof Function && callBack();
        });
      }


      this.applicant_list[i].province=this.shengList_Fun(province_code);//赋值
      console.log('申请人'+(i+1)+'： 申请人 省 = ',this.applicant_list[i].province,province_code);

    },

    //申请人 select 框监听 市
    city_code_Fun(i){
      let{
        city_code,//常住地 代码
      }=this.applicant_list[i];

      this.applicant_list[i].city=this.cityList_Fun(city_code,i);//赋值

      console.log('申请人'+(i+1)+'： 申请人 市 = ',this.applicant_list[i].city,city_code)
    },


    
    // 国家中文名 匹配
    countryList_Fun(codeT){
      let {
        countryList//国家列表
      }=this;
      for(let t=0; t<countryList.length;t++){
        if(countryList[t].code==codeT){
          return countryList[t].name;//退出本周循环 输出 国家名
        }
      }
    },

    // 省 中文名 匹配
    shengList_Fun(codeT){
      let {
        shengList//省 列表
      }=this;
      for(let t=0; t<shengList.length;t++){
        if(shengList[t].code==codeT){
          return shengList[t].name;//退出本周循环 输出 国家名
        }
      }
    },

    // 市 中文名 匹配
    cityList_Fun(codeT,i){
      let {
        cityList//市 列表
      }=this.applicant_list[i];

      // 判断城市列表是否，为空
      if($app.judgeData(cityList)){
        for(let t=0; t<cityList.length;t++){
          if(cityList[t].code==codeT){
            return cityList[t].name;//退出本周循环 输出 国家名
          }
        }
      }else{// 空城市 返回空名字
        return '';
      }
      
    },

    // 申请人 类型 触发给变
    owT(i){
      this.$set(this.applicant_list[i],'is_cost_reduction',false);
      cost_reduction.init(this,this.applicant_list[i]);
    },
    //申请人信息填历史记录
    //buEr true=> 触发change事件
    daiCc(i,buEr){
      let {
        applicant_list
      }=this;
      let name=applicant_list[i].name;
      
      //只有触发change事件 这一句话很有用 因为费减材料需要和申请人绑定关系。
      //申请人一遍，费减材料就要清空，从零开始
      if(!!buEr){
        this.owT(i);
      }

      // 监听输入
      if(i==0){
        $ajax.peopleTpl(name,resData=>{
          this.historyP=resData;
        });
      }

    },

    //点击历史申请人
    fuWgX(val){
      // console.log('出来数据',val)
      let {
        applicant_list,//申请人
        inventor_list//发明人列表
      }=val;


      applicant_list.forEach((val,i)=>{
        if(!val.img_path) this.$set(val,'img_path','');//如果 没有img_path  这个字段，就自己补上，保持数据结构一致
        this.$set(val,'cityList',[]);//设一个 空 cityList城市列表
        this.$set(val,'is_cost_reduction',false);//清空费减 材料
        cost_reduction.init(this,val);//初始化费减 材料
      });
      
      
      this.applicant_list=applicant_list;//申请人 数组=》赋值 还缺cityList
      // console.log('历史申请人 applicant_list = ',this.applicant_list);
      //初始化一次 cityList城市列表 数组数据
      (this.applicant_list).forEach((jar,r)=>{
        // 下面进入 省 + 市 的赋值 逻辑 必须一层包一层，有省，才有市
        if($app.judgeData(jar.province_code)){
          this.province_code_Fun(r,()=>{//省 中文名赋值
            if($app.judgeData(jar.city_code)){
              this.city_code_Fun(r);//市 中文名赋值
            }
          });
        }
      });
      $app.alertGood('请核对申请人、发明人信息是否有误。','信息填写成功');



      this.inventor_list=inventor_list;//发明人 是对象


      this.historyP=[];//清空 历史申请人列表

    },

    //申请信息自动填写
    btnD(i){
      this.ZI_num=i;
      this.ZIshow=true;
    },
    //身份证+营业执照识别 'uploadLicense'营业执照，'uploadIdcard'身份证
    filImage_up(e,num){//选择文件

      this.ZIshow = false;//弹框消失

      let {
        ZI_num
      }=this;
      let file = e.target.files[0];//选中的文件

      //格式判断
      $app.suffix.jpgPng(e,file,false,()=>{

        // 通过了条件判断，先初始化一次数据
        this.applicant_list[ZI_num].address='';//联系地址=》 这个字段比较特殊，有值就填，没值就留着为空
        this.applicant_list[ZI_num].img_path='';//上传图片，相对路径

        
        this.applicant_list[ZI_num].nationality='CN';//国籍 默认中国=》代码：CN =》领导决定的
        this.applicant_list[ZI_num].nationality_name='中国';//国籍 默认中国=》中文字 =》领导决定的
        this.applicant_list[ZI_num].biz_nationality='CN';// 和 nationality 字段一样的 逻辑
        this.applicant_list[ZI_num].biz_nationality_name='中国';//和 nationality_name 字段一样的逻辑

        this.applicant_list[ZI_num].name='';//申请人
        this.applicant_list[ZI_num].type='';//类型
        this.applicant_list[ZI_num].id_card='';//证件代码
        this.applicant_list[ZI_num].zip_code='';//邮政编码
        this.applicant_list[ZI_num].address_detail='';//详细地址

        // cpc流程 新增的东西
        this.applicant_list[ZI_num].province='';//省份名称 中文汉字
        this.applicant_list[ZI_num].province_code='';//省份代码
        this.applicant_list[ZI_num].city='';//城市名称 中文汉字
        this.applicant_list[ZI_num].city_code='';//城市代码
        this.applicant_list[ZI_num].cityList= [];//市列表=》接口返回


        // 以下是新加的东西，请定字段
        this.applicant_list[ZI_num].is_cost_reduction=false, //true 不上传材料了，false 要上传材料
        
        //以下是上传的文件，选填必填，前端会做校验
        this.applicant_list[ZI_num].org_code_path='';//单文件{ile_path:'', file_url:''}
        this.applicant_list[ZI_num].income_proof_path='';//单文件{ile_path:'', file_url:''}
        this.applicant_list[ZI_num].idcard_path='';//单文件{ile_path:'', file_url:''}
        this.applicant_list[ZI_num].business_license_path='';//单文件{ile_path:'', file_url:''}
        this.applicant_list[ZI_num].taxes_form_cover_path='';//单文件{ile_path:'', file_url:''}
        this.applicant_list[ZI_num].a_class_table_path='';//多文件 JSON串数组
      

        $app.selectFileImage(null,null,file,num,resData=>{

          if(num.type=='uploadLicense'){//营业执照
            let obj=resData.yyzz;
            console.log('恭喜发财 营业执照 = ',obj);
            this.applicant_list[ZI_num].type='工矿企业';

            //把数据弄成统一的格式，方便统一，一个函数使用
            if(obj.company_name) obj.name_text=obj.company_name;
            if(obj.register_num) obj.num_text=obj.register_num;
            if(resData.file_path) obj.file_path_text=resData.file_path;
            this.oqx_Jk(ZI_num,obj);

          }else if(num.type=='uploadIdcard'){//身份证
            let obj=resData.idcard;
            console.log('恭喜发财 身份证 = ',obj);
            this.applicant_list[ZI_num].type='个人';

            //把数据弄成统一的格式，方便统一，一个函数使用
            if(obj.name) obj.name_text=obj.name;
            if(obj.id) obj.num_text=obj.id;
            if(resData.file_path) obj.file_path_text=resData.file_path;
            this.oqx_Jk(ZI_num,obj);
          }


          this.$refs[num.type].value='';//清空input file的值
        },()=>{
          this.$refs[num.type].value='';//清空input file的值
        });
      });
      

    },
    // 配合上者使用
    oqx_Jk(ZI_num,obj){
      this.applicant_list[ZI_num].img_path=obj.file_path_text;

      let jutt=true;

      if($app.judgeData(obj.name_text)){
        this.applicant_list[ZI_num].name=obj.name_text;
      }else{
        jutt=false;
        this.applicant_list[ZI_num].name='';
        $app.alert(`申请人${ZI_num+1} ：名称识别失败，请手动填写资料提交`,'温馨提示',()=>{
          this.$refs['T_name'+ZI_num][0].focus();
        });
        return
      }

      if($app.judgeData(obj.zip_code)){
        this.applicant_list[ZI_num].zip_code=obj.zip_code;
      }else{
        jutt=false;
        this.applicant_list[ZI_num].zip_code='';
        $app.alert(`申请人${ZI_num+1} ：邮政编码识别失败，请手动填写资料提交`,'温馨提示',()=>{
          this.$refs['T_zip_code'+ZI_num][0].focus();
        });
        return
      }

      if($app.judgeData(obj.num_text)){
        this.applicant_list[ZI_num].id_card=obj.num_text;
      }else{
        jutt=false;
        this.applicant_list[ZI_num].id_card='';
        $app.alert(`申请人${ZI_num+1} ：证件代码识别失败，请手动填写资料提交`,'温馨提示',()=>{
          this.$refs['T_id_card'+ZI_num][0].focus();
        });
        return
      }

      if($app.judgeData(obj.address_detail)){
        this.applicant_list[ZI_num].address_detail=obj.address_detail;
      }else{
        jutt=false;
        this.applicant_list[ZI_num].address_detail='';
        $app.alert(`申请人${ZI_num+1} ：详细地址识别失败，请手动填写资料提交`,'温馨提示',()=>{
          this.$refs['T_address'+ZI_num][0].focus();
        });
        return
      }


      // address 这个字段不判断
      if($app.judgeData(obj.address)){
        this.applicant_list[ZI_num].address=obj.address;
      }

      if(!!jutt){
        
        // 下面进入 省 + 市 的赋值 逻辑 必须一层包一层，有省，才有市
        if($app.judgeData(obj.province_code)){
          this.applicant_list[ZI_num].province_code=obj.province_code;


          this.province_code_Fun(ZI_num,()=>{//省 中文名赋值
            
            if($app.judgeData(obj.city_code)){
              this.applicant_list[ZI_num].city_code=obj.city_code;
              this.city_code_Fun(ZI_num);//市 中文名赋值

              $app.alertGood('信息识别成功，请核对信息是否有误。','AI智能识别 ',()=>{
                this.$Message.success({content:`申请人${ZI_num+1} 信息，填写成功`});
              });

              
            }else{
              this.applicant_list[ZI_num].city_code='';
              $app.alert(`申请人${ZI_num+1} ：市区识别失败，请手动填写资料提交`,'温馨提示',()=>{
                //是select框，无法做聚焦
              });
            }

            console.log(`申请人${ZI_num+1} 信息：`,this.applicant_list[ZI_num]);
          });


        }else{
          this.applicant_list[ZI_num].province_code='';
          $app.alert(`申请人${ZI_num+1} ：省份识别失败，请手动填写资料提交`,'温馨提示',()=>{
            //是select框，无法做聚焦
          });
        }
      }
    },
    //发明人信息 身份证识别
    FMR_img(e){
      this.ZIshow_SF = false;//弹框消失
      let file = e.target.files[0];//选中的文件
      //格式判断
      $app.suffix.jpgPng(e,file,false,()=>{
        // 初始化数据
        this.inventor_list[0].name='';//姓名
        this.inventor_list[0].id_card='';//身份证
        this.inventor_list[0].img_path='';//上传图片，相对路径
        this.inventor_list[0].nationality='CN';//国籍 默认中国=》代码：CN
        this.inventor_list[0].nationality_name='中国';//国籍 默认中国=》中文汉字：CN
        this.inventor_list[0].is_not_public=false;//is_not_public?'不公开姓名':'公开姓名'

        $app.selectFileImage(null,null,file,{type:'uploadIdcard'},resData=>{
          this.inventor_list[0].img_path=resData.file_path;//图片赋值

          let obj=resData.idcard;

          let jutt=true;

          if($app.judgeData(obj.name)){
            this.inventor_list[0].name=obj.name;
          }else{
            jutt=false;
            this.inventor_list[0].name='';
            $app.alert(`发明人1：姓名识别失败，请手动填写资料提交`,'温馨提示',()=>{
              this.$refs['i_name0'][0].focus();
            });
            return
          }

          if($app.judgeData(obj.id)){
            this.inventor_list[0].id_card=obj.id;
          }else{
            jutt=false;
            this.inventor_list[0].id_card='';
            $app.alert(`发明人1：身份证识别失败，请手动填写资料提交`,'温馨提示',()=>{
              this.$refs['i_id_card0'][0].focus();
            });
            return
          }

          if(!!jutt){
            $app.alertGood('信息识别成功，请核对信息是否有误。','AI智能识别 ',()=>{
              this.$Message.success({content:`发明人1 信息，填写成功`});
              // console.log('发明人1 信息 = ',this.inventor_list);
            });
          }

          
          this.$refs['fimg'].value='';//清空input file的值

        },()=>{
          this.$refs['fimg'].value='';//清空input file的值
        });
      });
      
    },
    //申请人 加
    shenQR_FunAdd(){
      let {applicant_list} = this;

      //数组合并
      this.applicant_list = [
        ...applicant_list,
        {
          //这2个字段，不在输入框，范围内显示
          address:'',//联系地址=》 这个字段比较特殊，有值就填，没值就留着为空
          img_path:'',//上传图片，相对路径

          
          nationality:'CN',//国籍 默认中国=》代码：CN =》领导决定的
          nationality_name:'中国',//国籍 默认中国=》中文字 =》领导决定的
          biz_nationality:'CN',// 和 nationality 字段一样的 逻辑
          biz_nationality_name:'中国',//和 nationality_name 字段一样的逻辑

          name:'',//申请人
          type:'',//类型
          id_card:'',//证件代码
          zip_code:'',//邮政编码
          address_detail:'',//详细地址

          // cpc流程 新增的东西
          province:'',//省份名称 中文汉字
          province_code:'',//省份代码
          city:'',//城市名称 中文汉字
          city_code:'',//城市代码
          cityList: [],//市列表=》接口返回


          // 以下是新加的东西，请定字段
          is_cost_reduction:false, //true 不上传材料了，false 要上传材料
          
          //以下是上传的文件，选填必填，前端会做校验
          org_code_path:'',//单文件{ile_path:'', file_url:''}
          income_proof_path:'',//单文件{ile_path:'', file_url:''}
          idcard_path:'',//单文件{ile_path:'', file_url:''}
          business_license_path:'',//单文件{ile_path:'', file_url:''}
          taxes_form_cover_path:'',//单文件{ile_path:'', file_url:''}
          a_class_table_path:'',//多文件 JSON串数组
        }
      ];
    },
    //申请人 1加、2减
    shenQR_FunMin(num){
      let {applicant_list} = this;
      this.applicant_list = $app.arrayDelOne(applicant_list,num);
    },
    //发明人数组（后面那几个人）
    FMR_array_R(num){
      let {inventor_list} = this;
      this.inventor_list = $app.arrayDelOne(inventor_list,num);
    },
    // 发明人数组 新增加
    FMR_array_A(){
      
      let {
        inventor_list
      } = this;

      //数组合并
      this.inventor_list = [...inventor_list,{
        name:'',//姓名
        id_card:'',//身份证
        img_path:'',//上传图片，相对路径
        nationality:'',//国籍 默认中国=》代码：CN
        nationality_name:'',//国籍 默认中国=》中文汉字：CN
        is_not_public:false,//is_not_public?'不公开姓名':'公开姓名'
      }];
    }

  }
};
</script>

